/**
 * This is a generated class and is not intended for modification.  To customize behavior
 * of this value object you may modify the generated sub-class of this class - Constructions.as.
 */

package valueObjects
{
import com.adobe.fiber.services.IFiberManagingService;
import com.adobe.fiber.util.FiberUtils;
import com.adobe.fiber.valueobjects.IValueObject;
import flash.events.Event;
import flash.events.EventDispatcher;
import mx.binding.utils.ChangeWatcher;
import mx.collections.ArrayCollection;
import mx.events.PropertyChangeEvent;
import mx.validators.ValidationResult;

import flash.net.registerClassAlias;
import flash.net.getClassByAlias;
import com.adobe.fiber.core.model_internal;
import com.adobe.fiber.valueobjects.IPropertyIterator;
import com.adobe.fiber.valueobjects.AvailablePropertyIterator;

use namespace model_internal;

[ExcludeClass]
public class _Super_Constructions extends flash.events.EventDispatcher implements com.adobe.fiber.valueobjects.IValueObject
{
    model_internal static function initRemoteClassAliasSingle(cz:Class) : void
    {
    }

    model_internal static function initRemoteClassAliasAllRelated() : void
    {
    }

    model_internal var _dminternal_model : _ConstructionsEntityMetadata;
    model_internal var _changedObjects:mx.collections.ArrayCollection = new ArrayCollection();

    public function getChangedObjects() : Array
    {
        _changedObjects.addItemAt(this,0);
        return _changedObjects.source;
    }

    public function clearChangedObjects() : void
    {
        _changedObjects.removeAll();
    }

    /**
     * properties
     */
    private var _internal_partnerFS : String;
    private var _internal_userFS : int;
    private var _internal_published : String;
    private var _internal_int_id_climate : String;
    private var _internal_int_id_kind : String;
    private var _internal_int_id_static : String;
    private var _internal_int_id_facade : String;
    private var _internal_int_id_construction : int;
    private var _internal_int_id_joint : String;
    private var _internal_int_id_no : String;
    private var _internal_int_id_localisation : String;
    private var _internal_version_nr : int;
    private var _internal_valid_since : Date;
    private var _internal_valid_to : Date;
    private var _internal_image : String;
    private var _internal_image_caption : String;
    private var _internal_url_dxf : String;
    private var _internal_url_dwg : String;
    private var _internal_url_pla : String;
    private var _internal_url_pdf : String;
    private var _internal_url_jpg : String;
    private var _internal_rw : String;
    private var _internal_lntw : String;
    private var _internal_rei : int;
    private var _internal_notes : String;
    private var _internal_physics : String;
    private var _internal_add_notes : String;
    private var _internal_rel_info : String;
    private var _internal_layer_a_dimensions : String;
    private var _internal_layer_b_dimensions : String;
    private var _internal_layer_c_dimensions : String;
    private var _internal_constr_id : int;
    private var _internal_u_value_a : Number;
    private var _internal_u_value_b : Number;
    private var _internal_layer_b_names : String;
    private var _internal_u_value_c : Number;
    private var _internal_u_value_d : Number;
    private var _internal_int_id_summary : String;
    private var _internal_system : String;
    private var _internal_name : String;
    private var _internal_layer_c_names : String;
    private var _internal_active_tab : int;
    private var _internal_layer_d_names : String;
    private var _internal_layer_d_dimensions : String;
    private var _internal_layer_a_names : String;

    private static var emptyArray:Array = new Array();

    // Change this value according to your application's floating-point precision
    private static var epsilon:Number = 0.0001;

    /**
     * derived property cache initialization
     */
    model_internal var _cacheInitialized_isValid:Boolean = false;

    model_internal var _changeWatcherArray:Array = new Array();

    public function _Super_Constructions()
    {
        _model = new _ConstructionsEntityMetadata(this);

        // Bind to own data or source properties for cache invalidation triggering
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "partnerFS", model_internal::setterListenerPartnerFS));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "published", model_internal::setterListenerPublished));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_climate", model_internal::setterListenerInt_id_climate));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_kind", model_internal::setterListenerInt_id_kind));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_static", model_internal::setterListenerInt_id_static));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_facade", model_internal::setterListenerInt_id_facade));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_joint", model_internal::setterListenerInt_id_joint));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_no", model_internal::setterListenerInt_id_no));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_localisation", model_internal::setterListenerInt_id_localisation));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "valid_since", model_internal::setterListenerValid_since));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "valid_to", model_internal::setterListenerValid_to));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "image", model_internal::setterListenerImage));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "image_caption", model_internal::setterListenerImage_caption));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "url_dxf", model_internal::setterListenerUrl_dxf));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "url_dwg", model_internal::setterListenerUrl_dwg));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "url_pla", model_internal::setterListenerUrl_pla));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "url_pdf", model_internal::setterListenerUrl_pdf));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "url_jpg", model_internal::setterListenerUrl_jpg));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "rw", model_internal::setterListenerRw));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "lntw", model_internal::setterListenerLntw));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "notes", model_internal::setterListenerNotes));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "physics", model_internal::setterListenerPhysics));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "add_notes", model_internal::setterListenerAdd_notes));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "rel_info", model_internal::setterListenerRel_info));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_a_dimensions", model_internal::setterListenerLayer_a_dimensions));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_b_dimensions", model_internal::setterListenerLayer_b_dimensions));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_c_dimensions", model_internal::setterListenerLayer_c_dimensions));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_b_names", model_internal::setterListenerLayer_b_names));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "int_id_summary", model_internal::setterListenerInt_id_summary));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "system", model_internal::setterListenerSystem));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "name", model_internal::setterListenerName));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_c_names", model_internal::setterListenerLayer_c_names));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_d_names", model_internal::setterListenerLayer_d_names));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_d_dimensions", model_internal::setterListenerLayer_d_dimensions));
        model_internal::_changeWatcherArray.push(mx.binding.utils.ChangeWatcher.watch(this, "layer_a_names", model_internal::setterListenerLayer_a_names));

    }

    /**
     * data/source property getters
     */

    [Bindable(event="propertyChange")]
    public function get partnerFS() : String
    {
        return _internal_partnerFS;
    }

    [Bindable(event="propertyChange")]
    public function get userFS() : int
    {
        return _internal_userFS;
    }

    [Bindable(event="propertyChange")]
    public function get published() : String
    {
        return _internal_published;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_climate() : String
    {
        return _internal_int_id_climate;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_kind() : String
    {
        return _internal_int_id_kind;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_static() : String
    {
        return _internal_int_id_static;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_facade() : String
    {
        return _internal_int_id_facade;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_construction() : int
    {
        return _internal_int_id_construction;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_joint() : String
    {
        return _internal_int_id_joint;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_no() : String
    {
        return _internal_int_id_no;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_localisation() : String
    {
        return _internal_int_id_localisation;
    }

    [Bindable(event="propertyChange")]
    public function get version_nr() : int
    {
        return _internal_version_nr;
    }

    [Bindable(event="propertyChange")]
    public function get valid_since() : Date
    {
        return _internal_valid_since;
    }

    [Bindable(event="propertyChange")]
    public function get valid_to() : Date
    {
        return _internal_valid_to;
    }

    [Bindable(event="propertyChange")]
    public function get image() : String
    {
        return _internal_image;
    }

    [Bindable(event="propertyChange")]
    public function get image_caption() : String
    {
        return _internal_image_caption;
    }

    [Bindable(event="propertyChange")]
    public function get url_dxf() : String
    {
        return _internal_url_dxf;
    }

    [Bindable(event="propertyChange")]
    public function get url_dwg() : String
    {
        return _internal_url_dwg;
    }

    [Bindable(event="propertyChange")]
    public function get url_pla() : String
    {
        return _internal_url_pla;
    }

    [Bindable(event="propertyChange")]
    public function get url_pdf() : String
    {
        return _internal_url_pdf;
    }

    [Bindable(event="propertyChange")]
    public function get url_jpg() : String
    {
        return _internal_url_jpg;
    }

    [Bindable(event="propertyChange")]
    public function get rw() : String
    {
        return _internal_rw;
    }

    [Bindable(event="propertyChange")]
    public function get lntw() : String
    {
        return _internal_lntw;
    }

    [Bindable(event="propertyChange")]
    public function get rei() : int
    {
        return _internal_rei;
    }

    [Bindable(event="propertyChange")]
    public function get notes() : String
    {
        return _internal_notes;
    }

    [Bindable(event="propertyChange")]
    public function get physics() : String
    {
        return _internal_physics;
    }

    [Bindable(event="propertyChange")]
    public function get add_notes() : String
    {
        return _internal_add_notes;
    }

    [Bindable(event="propertyChange")]
    public function get rel_info() : String
    {
        return _internal_rel_info;
    }

    [Bindable(event="propertyChange")]
    public function get layer_a_dimensions() : String
    {
        return _internal_layer_a_dimensions;
    }

    [Bindable(event="propertyChange")]
    public function get layer_b_dimensions() : String
    {
        return _internal_layer_b_dimensions;
    }

    [Bindable(event="propertyChange")]
    public function get layer_c_dimensions() : String
    {
        return _internal_layer_c_dimensions;
    }

    [Bindable(event="propertyChange")]
    public function get constr_id() : int
    {
        return _internal_constr_id;
    }

    [Bindable(event="propertyChange")]
    public function get u_value_a() : Number
    {
        return _internal_u_value_a;
    }

    [Bindable(event="propertyChange")]
    public function get u_value_b() : Number
    {
        return _internal_u_value_b;
    }

    [Bindable(event="propertyChange")]
    public function get layer_b_names() : String
    {
        return _internal_layer_b_names;
    }

    [Bindable(event="propertyChange")]
    public function get u_value_c() : Number
    {
        return _internal_u_value_c;
    }

    [Bindable(event="propertyChange")]
    public function get u_value_d() : Number
    {
        return _internal_u_value_d;
    }

    [Bindable(event="propertyChange")]
    public function get int_id_summary() : String
    {
        return _internal_int_id_summary;
    }

    [Bindable(event="propertyChange")]
    public function get system() : String
    {
        return _internal_system;
    }

    [Bindable(event="propertyChange")]
    public function get name() : String
    {
        return _internal_name;
    }

    [Bindable(event="propertyChange")]
    public function get layer_c_names() : String
    {
        return _internal_layer_c_names;
    }

    [Bindable(event="propertyChange")]
    public function get active_tab() : int
    {
        return _internal_active_tab;
    }

    [Bindable(event="propertyChange")]
    public function get layer_d_names() : String
    {
        return _internal_layer_d_names;
    }

    [Bindable(event="propertyChange")]
    public function get layer_d_dimensions() : String
    {
        return _internal_layer_d_dimensions;
    }

    [Bindable(event="propertyChange")]
    public function get layer_a_names() : String
    {
        return _internal_layer_a_names;
    }

    public function clearAssociations() : void
    {
    }

    /**
     * data/source property setters
     */

    public function set partnerFS(value:String) : void
    {
        var oldValue:String = _internal_partnerFS;
        if (oldValue !== value)
        {
            _internal_partnerFS = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "partnerFS", oldValue, _internal_partnerFS));
        }
    }

    public function set userFS(value:int) : void
    {
        var oldValue:int = _internal_userFS;
        if (oldValue !== value)
        {
            _internal_userFS = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "userFS", oldValue, _internal_userFS));
        }
    }

    public function set published(value:String) : void
    {
        var oldValue:String = _internal_published;
        if (oldValue !== value)
        {
            _internal_published = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "published", oldValue, _internal_published));
        }
    }

    public function set int_id_climate(value:String) : void
    {
        var oldValue:String = _internal_int_id_climate;
        if (oldValue !== value)
        {
            _internal_int_id_climate = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_climate", oldValue, _internal_int_id_climate));
        }
    }

    public function set int_id_kind(value:String) : void
    {
        var oldValue:String = _internal_int_id_kind;
        if (oldValue !== value)
        {
            _internal_int_id_kind = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_kind", oldValue, _internal_int_id_kind));
        }
    }

    public function set int_id_static(value:String) : void
    {
        var oldValue:String = _internal_int_id_static;
        if (oldValue !== value)
        {
            _internal_int_id_static = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_static", oldValue, _internal_int_id_static));
        }
    }

    public function set int_id_facade(value:String) : void
    {
        var oldValue:String = _internal_int_id_facade;
        if (oldValue !== value)
        {
            _internal_int_id_facade = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_facade", oldValue, _internal_int_id_facade));
        }
    }

    public function set int_id_construction(value:int) : void
    {
        var oldValue:int = _internal_int_id_construction;
        if (oldValue !== value)
        {
            _internal_int_id_construction = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_construction", oldValue, _internal_int_id_construction));
        }
    }

    public function set int_id_joint(value:String) : void
    {
        var oldValue:String = _internal_int_id_joint;
        if (oldValue !== value)
        {
            _internal_int_id_joint = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_joint", oldValue, _internal_int_id_joint));
        }
    }

    public function set int_id_no(value:String) : void
    {
        var oldValue:String = _internal_int_id_no;
        if (oldValue !== value)
        {
            _internal_int_id_no = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_no", oldValue, _internal_int_id_no));
        }
    }

    public function set int_id_localisation(value:String) : void
    {
        var oldValue:String = _internal_int_id_localisation;
        if (oldValue !== value)
        {
            _internal_int_id_localisation = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_localisation", oldValue, _internal_int_id_localisation));
        }
    }

    public function set version_nr(value:int) : void
    {
        var oldValue:int = _internal_version_nr;
        if (oldValue !== value)
        {
            _internal_version_nr = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "version_nr", oldValue, _internal_version_nr));
        }
    }

    public function set valid_since(value:Date) : void
    {
        var oldValue:Date = _internal_valid_since;
        if (oldValue !== value)
        {
            _internal_valid_since = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "valid_since", oldValue, _internal_valid_since));
        }
    }

    public function set valid_to(value:Date) : void
    {
        var oldValue:Date = _internal_valid_to;
        if (oldValue !== value)
        {
            _internal_valid_to = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "valid_to", oldValue, _internal_valid_to));
        }
    }

    public function set image(value:String) : void
    {
        var oldValue:String = _internal_image;
        if (oldValue !== value)
        {
            _internal_image = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "image", oldValue, _internal_image));
        }
    }

    public function set image_caption(value:String) : void
    {
        var oldValue:String = _internal_image_caption;
        if (oldValue !== value)
        {
            _internal_image_caption = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "image_caption", oldValue, _internal_image_caption));
        }
    }

    public function set url_dxf(value:String) : void
    {
        var oldValue:String = _internal_url_dxf;
        if (oldValue !== value)
        {
            _internal_url_dxf = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_dxf", oldValue, _internal_url_dxf));
        }
    }

    public function set url_dwg(value:String) : void
    {
        var oldValue:String = _internal_url_dwg;
        if (oldValue !== value)
        {
            _internal_url_dwg = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_dwg", oldValue, _internal_url_dwg));
        }
    }

    public function set url_pla(value:String) : void
    {
        var oldValue:String = _internal_url_pla;
        if (oldValue !== value)
        {
            _internal_url_pla = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_pla", oldValue, _internal_url_pla));
        }
    }

    public function set url_pdf(value:String) : void
    {
        var oldValue:String = _internal_url_pdf;
        if (oldValue !== value)
        {
            _internal_url_pdf = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_pdf", oldValue, _internal_url_pdf));
        }
    }

    public function set url_jpg(value:String) : void
    {
        var oldValue:String = _internal_url_jpg;
        if (oldValue !== value)
        {
            _internal_url_jpg = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "url_jpg", oldValue, _internal_url_jpg));
        }
    }

    public function set rw(value:String) : void
    {
        var oldValue:String = _internal_rw;
        if (oldValue !== value)
        {
            _internal_rw = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "rw", oldValue, _internal_rw));
        }
    }

    public function set lntw(value:String) : void
    {
        var oldValue:String = _internal_lntw;
        if (oldValue !== value)
        {
            _internal_lntw = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "lntw", oldValue, _internal_lntw));
        }
    }

    public function set rei(value:int) : void
    {
        var oldValue:int = _internal_rei;
        if (oldValue !== value)
        {
            _internal_rei = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "rei", oldValue, _internal_rei));
        }
    }

    public function set notes(value:String) : void
    {
        var oldValue:String = _internal_notes;
        if (oldValue !== value)
        {
            _internal_notes = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "notes", oldValue, _internal_notes));
        }
    }

    public function set physics(value:String) : void
    {
        var oldValue:String = _internal_physics;
        if (oldValue !== value)
        {
            _internal_physics = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "physics", oldValue, _internal_physics));
        }
    }

    public function set add_notes(value:String) : void
    {
        var oldValue:String = _internal_add_notes;
        if (oldValue !== value)
        {
            _internal_add_notes = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "add_notes", oldValue, _internal_add_notes));
        }
    }

    public function set rel_info(value:String) : void
    {
        var oldValue:String = _internal_rel_info;
        if (oldValue !== value)
        {
            _internal_rel_info = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "rel_info", oldValue, _internal_rel_info));
        }
    }

    public function set layer_a_dimensions(value:String) : void
    {
        var oldValue:String = _internal_layer_a_dimensions;
        if (oldValue !== value)
        {
            _internal_layer_a_dimensions = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_a_dimensions", oldValue, _internal_layer_a_dimensions));
        }
    }

    public function set layer_b_dimensions(value:String) : void
    {
        var oldValue:String = _internal_layer_b_dimensions;
        if (oldValue !== value)
        {
            _internal_layer_b_dimensions = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_b_dimensions", oldValue, _internal_layer_b_dimensions));
        }
    }

    public function set layer_c_dimensions(value:String) : void
    {
        var oldValue:String = _internal_layer_c_dimensions;
        if (oldValue !== value)
        {
            _internal_layer_c_dimensions = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_c_dimensions", oldValue, _internal_layer_c_dimensions));
        }
    }

    public function set constr_id(value:int) : void
    {
        var oldValue:int = _internal_constr_id;
        if (oldValue !== value)
        {
            _internal_constr_id = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "constr_id", oldValue, _internal_constr_id));
        }
    }

    public function set u_value_a(value:Number) : void
    {
        var oldValue:Number = _internal_u_value_a;
        if (isNaN(_internal_u_value_a) == true || Math.abs(oldValue - value) > epsilon)
        {
            _internal_u_value_a = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_a", oldValue, _internal_u_value_a));
        }
    }

    public function set u_value_b(value:Number) : void
    {
        var oldValue:Number = _internal_u_value_b;
        if (isNaN(_internal_u_value_b) == true || Math.abs(oldValue - value) > epsilon)
        {
            _internal_u_value_b = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_b", oldValue, _internal_u_value_b));
        }
    }

    public function set layer_b_names(value:String) : void
    {
        var oldValue:String = _internal_layer_b_names;
        if (oldValue !== value)
        {
            _internal_layer_b_names = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_b_names", oldValue, _internal_layer_b_names));
        }
    }

    public function set u_value_c(value:Number) : void
    {
        var oldValue:Number = _internal_u_value_c;
        if (isNaN(_internal_u_value_c) == true || Math.abs(oldValue - value) > epsilon)
        {
            _internal_u_value_c = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_c", oldValue, _internal_u_value_c));
        }
    }

    public function set u_value_d(value:Number) : void
    {
        var oldValue:Number = _internal_u_value_d;
        if (isNaN(_internal_u_value_d) == true || Math.abs(oldValue - value) > epsilon)
        {
            _internal_u_value_d = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "u_value_d", oldValue, _internal_u_value_d));
        }
    }

    public function set int_id_summary(value:String) : void
    {
        var oldValue:String = _internal_int_id_summary;
        if (oldValue !== value)
        {
            _internal_int_id_summary = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "int_id_summary", oldValue, _internal_int_id_summary));
        }
    }

    public function set system(value:String) : void
    {
        var oldValue:String = _internal_system;
        if (oldValue !== value)
        {
            _internal_system = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "system", oldValue, _internal_system));
        }
    }

    public function set name(value:String) : void
    {
        var oldValue:String = _internal_name;
        if (oldValue !== value)
        {
            _internal_name = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "name", oldValue, _internal_name));
        }
    }

    public function set layer_c_names(value:String) : void
    {
        var oldValue:String = _internal_layer_c_names;
        if (oldValue !== value)
        {
            _internal_layer_c_names = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_c_names", oldValue, _internal_layer_c_names));
        }
    }

    public function set active_tab(value:int) : void
    {
        var oldValue:int = _internal_active_tab;
        if (oldValue !== value)
        {
            _internal_active_tab = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "active_tab", oldValue, _internal_active_tab));
        }
    }

    public function set layer_d_names(value:String) : void
    {
        var oldValue:String = _internal_layer_d_names;
        if (oldValue !== value)
        {
            _internal_layer_d_names = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_d_names", oldValue, _internal_layer_d_names));
        }
    }

    public function set layer_d_dimensions(value:String) : void
    {
        var oldValue:String = _internal_layer_d_dimensions;
        if (oldValue !== value)
        {
            _internal_layer_d_dimensions = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_d_dimensions", oldValue, _internal_layer_d_dimensions));
        }
    }

    public function set layer_a_names(value:String) : void
    {
        var oldValue:String = _internal_layer_a_names;
        if (oldValue !== value)
        {
            _internal_layer_a_names = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "layer_a_names", oldValue, _internal_layer_a_names));
        }
    }

    /**
     * Data/source property setter listeners
     *
     * Each data property whose value affects other properties or the validity of the entity
     * needs to invalidate all previously calculated artifacts. These include:
     *  - any derived properties or constraints that reference the given data property.
     *  - any availability guards (variant expressions) that reference the given data property.
     *  - any style validations, message tokens or guards that reference the given data property.
     *  - the validity of the property (and the containing entity) if the given data property has a length restriction.
     *  - the validity of the property (and the containing entity) if the given data property is required.
     */

    model_internal function setterListenerPartnerFS(value:flash.events.Event):void
    {
        _model.invalidateDependentOnPartnerFS();
    }

    model_internal function setterListenerPublished(value:flash.events.Event):void
    {
        _model.invalidateDependentOnPublished();
    }

    model_internal function setterListenerInt_id_climate(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_climate();
    }

    model_internal function setterListenerInt_id_kind(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_kind();
    }

    model_internal function setterListenerInt_id_static(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_static();
    }

    model_internal function setterListenerInt_id_facade(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_facade();
    }

    model_internal function setterListenerInt_id_joint(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_joint();
    }

    model_internal function setterListenerInt_id_no(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_no();
    }

    model_internal function setterListenerInt_id_localisation(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_localisation();
    }

    model_internal function setterListenerValid_since(value:flash.events.Event):void
    {
        _model.invalidateDependentOnValid_since();
    }

    model_internal function setterListenerValid_to(value:flash.events.Event):void
    {
        _model.invalidateDependentOnValid_to();
    }

    model_internal function setterListenerImage(value:flash.events.Event):void
    {
        _model.invalidateDependentOnImage();
    }

    model_internal function setterListenerImage_caption(value:flash.events.Event):void
    {
        _model.invalidateDependentOnImage_caption();
    }

    model_internal function setterListenerUrl_dxf(value:flash.events.Event):void
    {
        _model.invalidateDependentOnUrl_dxf();
    }

    model_internal function setterListenerUrl_dwg(value:flash.events.Event):void
    {
        _model.invalidateDependentOnUrl_dwg();
    }

    model_internal function setterListenerUrl_pla(value:flash.events.Event):void
    {
        _model.invalidateDependentOnUrl_pla();
    }

    model_internal function setterListenerUrl_pdf(value:flash.events.Event):void
    {
        _model.invalidateDependentOnUrl_pdf();
    }

    model_internal function setterListenerUrl_jpg(value:flash.events.Event):void
    {
        _model.invalidateDependentOnUrl_jpg();
    }

    model_internal function setterListenerRw(value:flash.events.Event):void
    {
        _model.invalidateDependentOnRw();
    }

    model_internal function setterListenerLntw(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLntw();
    }

    model_internal function setterListenerNotes(value:flash.events.Event):void
    {
        _model.invalidateDependentOnNotes();
    }

    model_internal function setterListenerPhysics(value:flash.events.Event):void
    {
        _model.invalidateDependentOnPhysics();
    }

    model_internal function setterListenerAdd_notes(value:flash.events.Event):void
    {
        _model.invalidateDependentOnAdd_notes();
    }

    model_internal function setterListenerRel_info(value:flash.events.Event):void
    {
        _model.invalidateDependentOnRel_info();
    }

    model_internal function setterListenerLayer_a_dimensions(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_a_dimensions();
    }

    model_internal function setterListenerLayer_b_dimensions(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_b_dimensions();
    }

    model_internal function setterListenerLayer_c_dimensions(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_c_dimensions();
    }

    model_internal function setterListenerLayer_b_names(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_b_names();
    }

    model_internal function setterListenerInt_id_summary(value:flash.events.Event):void
    {
        _model.invalidateDependentOnInt_id_summary();
    }

    model_internal function setterListenerSystem(value:flash.events.Event):void
    {
        _model.invalidateDependentOnSystem();
    }

    model_internal function setterListenerName(value:flash.events.Event):void
    {
        _model.invalidateDependentOnName();
    }

    model_internal function setterListenerLayer_c_names(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_c_names();
    }

    model_internal function setterListenerLayer_d_names(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_d_names();
    }

    model_internal function setterListenerLayer_d_dimensions(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_d_dimensions();
    }

    model_internal function setterListenerLayer_a_names(value:flash.events.Event):void
    {
        _model.invalidateDependentOnLayer_a_names();
    }


    /**
     * valid related derived properties
     */
    model_internal var _isValid : Boolean;
    model_internal var _invalidConstraints:Array = new Array();
    model_internal var _validationFailureMessages:Array = new Array();

    /**
     * derived property calculators
     */
    

    /**
     * isValid calculator
     */
    model_internal function calculateIsValid():Boolean
    {
        var violatedConsts:Array = new Array();
        var validationFailureMessages:Array = new Array();

        var propertyValidity:Boolean = true;
        if (!_model.partnerFSIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_partnerFSValidationFailureMessages);
        }
        if (!_model.publishedIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_publishedValidationFailureMessages);
        }
        if (!_model.int_id_climateIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_climateValidationFailureMessages);
        }
        if (!_model.int_id_kindIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_kindValidationFailureMessages);
        }
        if (!_model.int_id_staticIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_staticValidationFailureMessages);
        }
        if (!_model.int_id_facadeIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_facadeValidationFailureMessages);
        }
        if (!_model.int_id_jointIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_jointValidationFailureMessages);
        }
        if (!_model.int_id_noIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_noValidationFailureMessages);
        }
        if (!_model.int_id_localisationIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_localisationValidationFailureMessages);
        }
        if (!_model.valid_sinceIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_valid_sinceValidationFailureMessages);
        }
        if (!_model.valid_toIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_valid_toValidationFailureMessages);
        }
        if (!_model.imageIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_imageValidationFailureMessages);
        }
        if (!_model.image_captionIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_image_captionValidationFailureMessages);
        }
        if (!_model.url_dxfIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_url_dxfValidationFailureMessages);
        }
        if (!_model.url_dwgIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_url_dwgValidationFailureMessages);
        }
        if (!_model.url_plaIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_url_plaValidationFailureMessages);
        }
        if (!_model.url_pdfIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_url_pdfValidationFailureMessages);
        }
        if (!_model.url_jpgIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_url_jpgValidationFailureMessages);
        }
        if (!_model.rwIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_rwValidationFailureMessages);
        }
        if (!_model.lntwIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_lntwValidationFailureMessages);
        }
        if (!_model.notesIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_notesValidationFailureMessages);
        }
        if (!_model.physicsIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_physicsValidationFailureMessages);
        }
        if (!_model.add_notesIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_add_notesValidationFailureMessages);
        }
        if (!_model.rel_infoIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_rel_infoValidationFailureMessages);
        }
        if (!_model.layer_a_dimensionsIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_a_dimensionsValidationFailureMessages);
        }
        if (!_model.layer_b_dimensionsIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_b_dimensionsValidationFailureMessages);
        }
        if (!_model.layer_c_dimensionsIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_c_dimensionsValidationFailureMessages);
        }
        if (!_model.layer_b_namesIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_b_namesValidationFailureMessages);
        }
        if (!_model.int_id_summaryIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_int_id_summaryValidationFailureMessages);
        }
        if (!_model.systemIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_systemValidationFailureMessages);
        }
        if (!_model.nameIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_nameValidationFailureMessages);
        }
        if (!_model.layer_c_namesIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_c_namesValidationFailureMessages);
        }
        if (!_model.layer_d_namesIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_d_namesValidationFailureMessages);
        }
        if (!_model.layer_d_dimensionsIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_d_dimensionsValidationFailureMessages);
        }
        if (!_model.layer_a_namesIsValid)
        {
            propertyValidity = false;
            com.adobe.fiber.util.FiberUtils.arrayAdd(validationFailureMessages, _model.model_internal::_layer_a_namesValidationFailureMessages);
        }

        model_internal::_cacheInitialized_isValid = true;
        model_internal::invalidConstraints_der = violatedConsts;
        model_internal::validationFailureMessages_der = validationFailureMessages;
        return violatedConsts.length == 0 && propertyValidity;
    }

    /**
     * derived property setters
     */

    model_internal function set isValid_der(value:Boolean) : void
    {
        var oldValue:Boolean = model_internal::_isValid;
        if (oldValue !== value)
        {
            model_internal::_isValid = value;
            _model.model_internal::fireChangeEvent("isValid", oldValue, model_internal::_isValid);
        }
    }

    /**
     * derived property getters
     */

    [Transient]
    [Bindable(event="propertyChange")]
    public function get _model() : _ConstructionsEntityMetadata
    {
        return model_internal::_dminternal_model;
    }

    public function set _model(value : _ConstructionsEntityMetadata) : void
    {
        var oldValue : _ConstructionsEntityMetadata = model_internal::_dminternal_model;
        if (oldValue !== value)
        {
            model_internal::_dminternal_model = value;
            this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "_model", oldValue, model_internal::_dminternal_model));
        }
    }

    /**
     * methods
     */


    /**
     *  services
     */
    private var _managingService:com.adobe.fiber.services.IFiberManagingService;

    public function set managingService(managingService:com.adobe.fiber.services.IFiberManagingService):void
    {
        _managingService = managingService;
    }

    model_internal function set invalidConstraints_der(value:Array) : void
    {
        var oldValue:Array = model_internal::_invalidConstraints;
        // avoid firing the event when old and new value are different empty arrays
        if (oldValue !== value && (oldValue.length > 0 || value.length > 0))
        {
            model_internal::_invalidConstraints = value;
            _model.model_internal::fireChangeEvent("invalidConstraints", oldValue, model_internal::_invalidConstraints);
        }
    }

    model_internal function set validationFailureMessages_der(value:Array) : void
    {
        var oldValue:Array = model_internal::_validationFailureMessages;
        // avoid firing the event when old and new value are different empty arrays
        if (oldValue !== value && (oldValue.length > 0 || value.length > 0))
        {
            model_internal::_validationFailureMessages = value;
            _model.model_internal::fireChangeEvent("validationFailureMessages", oldValue, model_internal::_validationFailureMessages);
        }
    }

    model_internal var _doValidationCacheOfPartnerFS : Array = null;
    model_internal var _doValidationLastValOfPartnerFS : String;

    model_internal function _doValidationForPartnerFS(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfPartnerFS != null && model_internal::_doValidationLastValOfPartnerFS == value)
           return model_internal::_doValidationCacheOfPartnerFS ;

        _model.model_internal::_partnerFSIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isPartnerFSAvailable && _internal_partnerFS == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "partnerFS is required"));
        }

        model_internal::_doValidationCacheOfPartnerFS = validationFailures;
        model_internal::_doValidationLastValOfPartnerFS = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfPublished : Array = null;
    model_internal var _doValidationLastValOfPublished : String;

    model_internal function _doValidationForPublished(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfPublished != null && model_internal::_doValidationLastValOfPublished == value)
           return model_internal::_doValidationCacheOfPublished ;

        _model.model_internal::_publishedIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isPublishedAvailable && _internal_published == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "published is required"));
        }

        model_internal::_doValidationCacheOfPublished = validationFailures;
        model_internal::_doValidationLastValOfPublished = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_climate : Array = null;
    model_internal var _doValidationLastValOfInt_id_climate : String;

    model_internal function _doValidationForInt_id_climate(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_climate != null && model_internal::_doValidationLastValOfInt_id_climate == value)
           return model_internal::_doValidationCacheOfInt_id_climate ;

        _model.model_internal::_int_id_climateIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_climateAvailable && _internal_int_id_climate == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_climate is required"));
        }

        model_internal::_doValidationCacheOfInt_id_climate = validationFailures;
        model_internal::_doValidationLastValOfInt_id_climate = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_kind : Array = null;
    model_internal var _doValidationLastValOfInt_id_kind : String;

    model_internal function _doValidationForInt_id_kind(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_kind != null && model_internal::_doValidationLastValOfInt_id_kind == value)
           return model_internal::_doValidationCacheOfInt_id_kind ;

        _model.model_internal::_int_id_kindIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_kindAvailable && _internal_int_id_kind == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_kind is required"));
        }

        model_internal::_doValidationCacheOfInt_id_kind = validationFailures;
        model_internal::_doValidationLastValOfInt_id_kind = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_static : Array = null;
    model_internal var _doValidationLastValOfInt_id_static : String;

    model_internal function _doValidationForInt_id_static(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_static != null && model_internal::_doValidationLastValOfInt_id_static == value)
           return model_internal::_doValidationCacheOfInt_id_static ;

        _model.model_internal::_int_id_staticIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_staticAvailable && _internal_int_id_static == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_static is required"));
        }

        model_internal::_doValidationCacheOfInt_id_static = validationFailures;
        model_internal::_doValidationLastValOfInt_id_static = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_facade : Array = null;
    model_internal var _doValidationLastValOfInt_id_facade : String;

    model_internal function _doValidationForInt_id_facade(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_facade != null && model_internal::_doValidationLastValOfInt_id_facade == value)
           return model_internal::_doValidationCacheOfInt_id_facade ;

        _model.model_internal::_int_id_facadeIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_facadeAvailable && _internal_int_id_facade == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_facade is required"));
        }

        model_internal::_doValidationCacheOfInt_id_facade = validationFailures;
        model_internal::_doValidationLastValOfInt_id_facade = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_joint : Array = null;
    model_internal var _doValidationLastValOfInt_id_joint : String;

    model_internal function _doValidationForInt_id_joint(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_joint != null && model_internal::_doValidationLastValOfInt_id_joint == value)
           return model_internal::_doValidationCacheOfInt_id_joint ;

        _model.model_internal::_int_id_jointIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_jointAvailable && _internal_int_id_joint == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_joint is required"));
        }

        model_internal::_doValidationCacheOfInt_id_joint = validationFailures;
        model_internal::_doValidationLastValOfInt_id_joint = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_no : Array = null;
    model_internal var _doValidationLastValOfInt_id_no : String;

    model_internal function _doValidationForInt_id_no(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_no != null && model_internal::_doValidationLastValOfInt_id_no == value)
           return model_internal::_doValidationCacheOfInt_id_no ;

        _model.model_internal::_int_id_noIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_noAvailable && _internal_int_id_no == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_no is required"));
        }

        model_internal::_doValidationCacheOfInt_id_no = validationFailures;
        model_internal::_doValidationLastValOfInt_id_no = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_localisation : Array = null;
    model_internal var _doValidationLastValOfInt_id_localisation : String;

    model_internal function _doValidationForInt_id_localisation(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_localisation != null && model_internal::_doValidationLastValOfInt_id_localisation == value)
           return model_internal::_doValidationCacheOfInt_id_localisation ;

        _model.model_internal::_int_id_localisationIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_localisationAvailable && _internal_int_id_localisation == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_localisation is required"));
        }

        model_internal::_doValidationCacheOfInt_id_localisation = validationFailures;
        model_internal::_doValidationLastValOfInt_id_localisation = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfValid_since : Array = null;
    model_internal var _doValidationLastValOfValid_since : Date;

    model_internal function _doValidationForValid_since(valueIn:Object):Array
    {
        var value : Date = valueIn as Date;

        if (model_internal::_doValidationCacheOfValid_since != null && model_internal::_doValidationLastValOfValid_since == value)
           return model_internal::_doValidationCacheOfValid_since ;

        _model.model_internal::_valid_sinceIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isValid_sinceAvailable && _internal_valid_since == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "valid_since is required"));
        }

        model_internal::_doValidationCacheOfValid_since = validationFailures;
        model_internal::_doValidationLastValOfValid_since = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfValid_to : Array = null;
    model_internal var _doValidationLastValOfValid_to : Date;

    model_internal function _doValidationForValid_to(valueIn:Object):Array
    {
        var value : Date = valueIn as Date;

        if (model_internal::_doValidationCacheOfValid_to != null && model_internal::_doValidationLastValOfValid_to == value)
           return model_internal::_doValidationCacheOfValid_to ;

        _model.model_internal::_valid_toIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isValid_toAvailable && _internal_valid_to == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "valid_to is required"));
        }

        model_internal::_doValidationCacheOfValid_to = validationFailures;
        model_internal::_doValidationLastValOfValid_to = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfImage : Array = null;
    model_internal var _doValidationLastValOfImage : String;

    model_internal function _doValidationForImage(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfImage != null && model_internal::_doValidationLastValOfImage == value)
           return model_internal::_doValidationCacheOfImage ;

        _model.model_internal::_imageIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isImageAvailable && _internal_image == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "image is required"));
        }

        model_internal::_doValidationCacheOfImage = validationFailures;
        model_internal::_doValidationLastValOfImage = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfImage_caption : Array = null;
    model_internal var _doValidationLastValOfImage_caption : String;

    model_internal function _doValidationForImage_caption(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfImage_caption != null && model_internal::_doValidationLastValOfImage_caption == value)
           return model_internal::_doValidationCacheOfImage_caption ;

        _model.model_internal::_image_captionIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isImage_captionAvailable && _internal_image_caption == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "image_caption is required"));
        }

        model_internal::_doValidationCacheOfImage_caption = validationFailures;
        model_internal::_doValidationLastValOfImage_caption = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfUrl_dxf : Array = null;
    model_internal var _doValidationLastValOfUrl_dxf : String;

    model_internal function _doValidationForUrl_dxf(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfUrl_dxf != null && model_internal::_doValidationLastValOfUrl_dxf == value)
           return model_internal::_doValidationCacheOfUrl_dxf ;

        _model.model_internal::_url_dxfIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isUrl_dxfAvailable && _internal_url_dxf == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "url_dxf is required"));
        }

        model_internal::_doValidationCacheOfUrl_dxf = validationFailures;
        model_internal::_doValidationLastValOfUrl_dxf = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfUrl_dwg : Array = null;
    model_internal var _doValidationLastValOfUrl_dwg : String;

    model_internal function _doValidationForUrl_dwg(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfUrl_dwg != null && model_internal::_doValidationLastValOfUrl_dwg == value)
           return model_internal::_doValidationCacheOfUrl_dwg ;

        _model.model_internal::_url_dwgIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isUrl_dwgAvailable && _internal_url_dwg == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "url_dwg is required"));
        }

        model_internal::_doValidationCacheOfUrl_dwg = validationFailures;
        model_internal::_doValidationLastValOfUrl_dwg = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfUrl_pla : Array = null;
    model_internal var _doValidationLastValOfUrl_pla : String;

    model_internal function _doValidationForUrl_pla(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfUrl_pla != null && model_internal::_doValidationLastValOfUrl_pla == value)
           return model_internal::_doValidationCacheOfUrl_pla ;

        _model.model_internal::_url_plaIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isUrl_plaAvailable && _internal_url_pla == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "url_pla is required"));
        }

        model_internal::_doValidationCacheOfUrl_pla = validationFailures;
        model_internal::_doValidationLastValOfUrl_pla = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfUrl_pdf : Array = null;
    model_internal var _doValidationLastValOfUrl_pdf : String;

    model_internal function _doValidationForUrl_pdf(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfUrl_pdf != null && model_internal::_doValidationLastValOfUrl_pdf == value)
           return model_internal::_doValidationCacheOfUrl_pdf ;

        _model.model_internal::_url_pdfIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isUrl_pdfAvailable && _internal_url_pdf == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "url_pdf is required"));
        }

        model_internal::_doValidationCacheOfUrl_pdf = validationFailures;
        model_internal::_doValidationLastValOfUrl_pdf = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfUrl_jpg : Array = null;
    model_internal var _doValidationLastValOfUrl_jpg : String;

    model_internal function _doValidationForUrl_jpg(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfUrl_jpg != null && model_internal::_doValidationLastValOfUrl_jpg == value)
           return model_internal::_doValidationCacheOfUrl_jpg ;

        _model.model_internal::_url_jpgIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isUrl_jpgAvailable && _internal_url_jpg == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "url_jpg is required"));
        }

        model_internal::_doValidationCacheOfUrl_jpg = validationFailures;
        model_internal::_doValidationLastValOfUrl_jpg = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfRw : Array = null;
    model_internal var _doValidationLastValOfRw : String;

    model_internal function _doValidationForRw(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfRw != null && model_internal::_doValidationLastValOfRw == value)
           return model_internal::_doValidationCacheOfRw ;

        _model.model_internal::_rwIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isRwAvailable && _internal_rw == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "rw is required"));
        }

        model_internal::_doValidationCacheOfRw = validationFailures;
        model_internal::_doValidationLastValOfRw = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLntw : Array = null;
    model_internal var _doValidationLastValOfLntw : String;

    model_internal function _doValidationForLntw(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLntw != null && model_internal::_doValidationLastValOfLntw == value)
           return model_internal::_doValidationCacheOfLntw ;

        _model.model_internal::_lntwIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLntwAvailable && _internal_lntw == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "lntw is required"));
        }

        model_internal::_doValidationCacheOfLntw = validationFailures;
        model_internal::_doValidationLastValOfLntw = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfNotes : Array = null;
    model_internal var _doValidationLastValOfNotes : String;

    model_internal function _doValidationForNotes(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfNotes != null && model_internal::_doValidationLastValOfNotes == value)
           return model_internal::_doValidationCacheOfNotes ;

        _model.model_internal::_notesIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isNotesAvailable && _internal_notes == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "notes is required"));
        }

        model_internal::_doValidationCacheOfNotes = validationFailures;
        model_internal::_doValidationLastValOfNotes = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfPhysics : Array = null;
    model_internal var _doValidationLastValOfPhysics : String;

    model_internal function _doValidationForPhysics(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfPhysics != null && model_internal::_doValidationLastValOfPhysics == value)
           return model_internal::_doValidationCacheOfPhysics ;

        _model.model_internal::_physicsIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isPhysicsAvailable && _internal_physics == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "physics is required"));
        }

        model_internal::_doValidationCacheOfPhysics = validationFailures;
        model_internal::_doValidationLastValOfPhysics = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfAdd_notes : Array = null;
    model_internal var _doValidationLastValOfAdd_notes : String;

    model_internal function _doValidationForAdd_notes(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfAdd_notes != null && model_internal::_doValidationLastValOfAdd_notes == value)
           return model_internal::_doValidationCacheOfAdd_notes ;

        _model.model_internal::_add_notesIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isAdd_notesAvailable && _internal_add_notes == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "add_notes is required"));
        }

        model_internal::_doValidationCacheOfAdd_notes = validationFailures;
        model_internal::_doValidationLastValOfAdd_notes = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfRel_info : Array = null;
    model_internal var _doValidationLastValOfRel_info : String;

    model_internal function _doValidationForRel_info(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfRel_info != null && model_internal::_doValidationLastValOfRel_info == value)
           return model_internal::_doValidationCacheOfRel_info ;

        _model.model_internal::_rel_infoIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isRel_infoAvailable && _internal_rel_info == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "rel_info is required"));
        }

        model_internal::_doValidationCacheOfRel_info = validationFailures;
        model_internal::_doValidationLastValOfRel_info = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_a_dimensions : Array = null;
    model_internal var _doValidationLastValOfLayer_a_dimensions : String;

    model_internal function _doValidationForLayer_a_dimensions(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_a_dimensions != null && model_internal::_doValidationLastValOfLayer_a_dimensions == value)
           return model_internal::_doValidationCacheOfLayer_a_dimensions ;

        _model.model_internal::_layer_a_dimensionsIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_a_dimensionsAvailable && _internal_layer_a_dimensions == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_a_dimensions is required"));
        }

        model_internal::_doValidationCacheOfLayer_a_dimensions = validationFailures;
        model_internal::_doValidationLastValOfLayer_a_dimensions = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_b_dimensions : Array = null;
    model_internal var _doValidationLastValOfLayer_b_dimensions : String;

    model_internal function _doValidationForLayer_b_dimensions(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_b_dimensions != null && model_internal::_doValidationLastValOfLayer_b_dimensions == value)
           return model_internal::_doValidationCacheOfLayer_b_dimensions ;

        _model.model_internal::_layer_b_dimensionsIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_b_dimensionsAvailable && _internal_layer_b_dimensions == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_b_dimensions is required"));
        }

        model_internal::_doValidationCacheOfLayer_b_dimensions = validationFailures;
        model_internal::_doValidationLastValOfLayer_b_dimensions = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_c_dimensions : Array = null;
    model_internal var _doValidationLastValOfLayer_c_dimensions : String;

    model_internal function _doValidationForLayer_c_dimensions(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_c_dimensions != null && model_internal::_doValidationLastValOfLayer_c_dimensions == value)
           return model_internal::_doValidationCacheOfLayer_c_dimensions ;

        _model.model_internal::_layer_c_dimensionsIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_c_dimensionsAvailable && _internal_layer_c_dimensions == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_c_dimensions is required"));
        }

        model_internal::_doValidationCacheOfLayer_c_dimensions = validationFailures;
        model_internal::_doValidationLastValOfLayer_c_dimensions = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_b_names : Array = null;
    model_internal var _doValidationLastValOfLayer_b_names : String;

    model_internal function _doValidationForLayer_b_names(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_b_names != null && model_internal::_doValidationLastValOfLayer_b_names == value)
           return model_internal::_doValidationCacheOfLayer_b_names ;

        _model.model_internal::_layer_b_namesIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_b_namesAvailable && _internal_layer_b_names == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_b_names is required"));
        }

        model_internal::_doValidationCacheOfLayer_b_names = validationFailures;
        model_internal::_doValidationLastValOfLayer_b_names = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfInt_id_summary : Array = null;
    model_internal var _doValidationLastValOfInt_id_summary : String;

    model_internal function _doValidationForInt_id_summary(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfInt_id_summary != null && model_internal::_doValidationLastValOfInt_id_summary == value)
           return model_internal::_doValidationCacheOfInt_id_summary ;

        _model.model_internal::_int_id_summaryIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isInt_id_summaryAvailable && _internal_int_id_summary == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "int_id_summary is required"));
        }

        model_internal::_doValidationCacheOfInt_id_summary = validationFailures;
        model_internal::_doValidationLastValOfInt_id_summary = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfSystem : Array = null;
    model_internal var _doValidationLastValOfSystem : String;

    model_internal function _doValidationForSystem(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfSystem != null && model_internal::_doValidationLastValOfSystem == value)
           return model_internal::_doValidationCacheOfSystem ;

        _model.model_internal::_systemIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isSystemAvailable && _internal_system == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "system is required"));
        }

        model_internal::_doValidationCacheOfSystem = validationFailures;
        model_internal::_doValidationLastValOfSystem = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfName : Array = null;
    model_internal var _doValidationLastValOfName : String;

    model_internal function _doValidationForName(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfName != null && model_internal::_doValidationLastValOfName == value)
           return model_internal::_doValidationCacheOfName ;

        _model.model_internal::_nameIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isNameAvailable && _internal_name == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "name is required"));
        }

        model_internal::_doValidationCacheOfName = validationFailures;
        model_internal::_doValidationLastValOfName = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_c_names : Array = null;
    model_internal var _doValidationLastValOfLayer_c_names : String;

    model_internal function _doValidationForLayer_c_names(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_c_names != null && model_internal::_doValidationLastValOfLayer_c_names == value)
           return model_internal::_doValidationCacheOfLayer_c_names ;

        _model.model_internal::_layer_c_namesIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_c_namesAvailable && _internal_layer_c_names == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_c_names is required"));
        }

        model_internal::_doValidationCacheOfLayer_c_names = validationFailures;
        model_internal::_doValidationLastValOfLayer_c_names = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_d_names : Array = null;
    model_internal var _doValidationLastValOfLayer_d_names : String;

    model_internal function _doValidationForLayer_d_names(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_d_names != null && model_internal::_doValidationLastValOfLayer_d_names == value)
           return model_internal::_doValidationCacheOfLayer_d_names ;

        _model.model_internal::_layer_d_namesIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_d_namesAvailable && _internal_layer_d_names == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_d_names is required"));
        }

        model_internal::_doValidationCacheOfLayer_d_names = validationFailures;
        model_internal::_doValidationLastValOfLayer_d_names = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_d_dimensions : Array = null;
    model_internal var _doValidationLastValOfLayer_d_dimensions : String;

    model_internal function _doValidationForLayer_d_dimensions(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_d_dimensions != null && model_internal::_doValidationLastValOfLayer_d_dimensions == value)
           return model_internal::_doValidationCacheOfLayer_d_dimensions ;

        _model.model_internal::_layer_d_dimensionsIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_d_dimensionsAvailable && _internal_layer_d_dimensions == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_d_dimensions is required"));
        }

        model_internal::_doValidationCacheOfLayer_d_dimensions = validationFailures;
        model_internal::_doValidationLastValOfLayer_d_dimensions = value;

        return validationFailures;
    }
    
    model_internal var _doValidationCacheOfLayer_a_names : Array = null;
    model_internal var _doValidationLastValOfLayer_a_names : String;

    model_internal function _doValidationForLayer_a_names(valueIn:Object):Array
    {
        var value : String = valueIn as String;

        if (model_internal::_doValidationCacheOfLayer_a_names != null && model_internal::_doValidationLastValOfLayer_a_names == value)
           return model_internal::_doValidationCacheOfLayer_a_names ;

        _model.model_internal::_layer_a_namesIsValidCacheInitialized = true;
        var validationFailures:Array = new Array();
        var errorMessage:String;
        var failure:Boolean;

        var valRes:ValidationResult;
        if (_model.isLayer_a_namesAvailable && _internal_layer_a_names == null)
        {
            validationFailures.push(new ValidationResult(true, "", "", "layer_a_names is required"));
        }

        model_internal::_doValidationCacheOfLayer_a_names = validationFailures;
        model_internal::_doValidationLastValOfLayer_a_names = value;

        return validationFailures;
    }
    

}

}
